home *** CD-ROM | disk | FTP | other *** search
- #define MEDFIELD 32
- #define LONGFIELD 64
- #define VLONGFIELD 254
- #define LF 10 // linefeed
- #define PAGE0HEIGHT 94
- #define PAGE1HEIGHT 128
- #define PAGE2HEIGHT 180
- #define PAGE3HEIGHT 124
- #define PAGE4HEIGHT 186
- #define PAGE5HEIGHT 80
- #define PAGE6HEIGHT 170
- #define PAGE7HEIGHT 80
-
- #include <exec/types.h>
- #include <exec/alerts.h>
- #include <exec/nodes.h>
- #include <exec/memory.h>
- #include <intuition/intuition.h>
- #include <intuition/gadgetclass.h>
- #include <graphics/displayinfo.h>
- #include <libraries/gadtools.h>
- #include <dos/dos.h>
- #include <dos/dosextens.h>
- #include <dos/datetime.h>
- #include <libraries/asl.h>
-
- #include <stdio.h> // FILE, printf()
- #include <stdlib.h> // EXIT_SUCCESS, EXIT_FAILURE
-
- // types
-
- #define AGLOBAL ; // global (project-scope)
- #define MODULE static // external static (file-scope)
- #define PERSIST static // internal static (function-scope)
- typedef signed char ABOOL; // 8-bit signed quantity (replaces ABOOL)
- typedef signed char SBYTE; // 8-bit signed quantity (replaces Amiga BYTE)
- typedef signed short SWORD; // 16-bit signed quantity (replaces Amiga WORD)
- typedef signed long SLONG; // 32-bit signed quantity (same as LONG)
-
- #define elif else if
-
- #define ILLEGAL ((APTR) 0xA9A9)
- #define OLDKICKSTART "Report+: You need Kickstart R2.04+!\n(Can't open intuition.library V37+!)\n"
- #define TITLEBAR "Report+ 1.1"
- #define VERSION "$VER: Report+ 1.1 (11.12.99)"
-
- #define FIRSTQUALIFIER 0x61
- #define LASTQUALIFIER 0x67
- #define KEYUP 0x80 // key release
-
- #define BUG 0
- #define COM 1
- #define ENH 2
-
- #define DEPTH 3
-
- #define GREY 0
- #define BLACK 1
- #define WHITE 2
- #define RED 3
- #define BLUE 4
- #define LIGHTGREY 5
- #define YELLOW 6
- #define PURPLE 7
-
- #define PROJECTSTART 0 // array offsets of menu headers
- #define MN_PROJECT 0
- #define IN_ABOUT 0
- #define IN_QUIT 2
-
- MODULE struct
- { ULONG floppies, developer;
- UWORD agnus, denise, cpu, model,
- type, severity, subsystem;
- TEXT chipram[5], fastram[5],
- hard[MEDFIELD + 1],
- debug[LONGFIELD + 1],
- expansion[LONGFIELD + 1],
- subject[LONGFIELD + 1],
- editor[LONGFIELD + 1],
- output[LONGFIELD + 1],
- ks[6],
- wb[6],
- pv[LONGFIELD + 1],
- pp[LONGFIELD + 1],
- thirdname[MEDFIELD + 1],
- thirdver[MEDFIELD + 1],
- thirdmanuf[MEDFIELD + 1],
- lastname[MEDFIELD + 1],
- firstname[MEDFIELD + 1],
- company[MEDFIELD + 1],
- phone[MEDFIELD + 1],
- email[MEDFIELD + 1],
- refer[VLONGFIELD + 1],
- referid[VLONGFIELD + 1],
- path[VLONGFIELD + 1],
- config[VLONGFIELD + 1];
- UWORD function;
- TEXT amishort[41],
- amiuploader[41],
- amiauthor[41],
- amirequires[41],
- amiversion[41],
- amidistribution[41],
- amitype[41],
- amireplaces[41];
- } report =
- { 1, 0, 0, 0, 1, 4, 0, 0, 0,
- "2", "0", "", "", "", "", "", "", "", "", "",
- "", "", "", "", "", "", "", "", "", "", "", "", "",
- 0, "", "", "", "", "1.0", "", "", ""
- };
-
- MODULE STRPTR FunctionOptions[3] =
- { (STRPTR) "Bug report",
- (STRPTR) "Aminet readme",
- NULL
- };
- MODULE STRPTR RadioOptions1[4] =
- { (STRPTR) "System Software or Hardware Bug Report",
- (STRPTR) "Third Party Product Compatibility Report",
- (STRPTR) "Enhancement Request",
- NULL
- };
- MODULE STRPTR RadioOptions2[4] =
- { (STRPTR) "Crashes, hangs or corrupts data",
- (STRPTR) "Behaves incorrectly",
- (STRPTR) "Cosmetic problem",
- NULL
- };
- MODULE STRPTR RadioOptions3[5] =
- { (STRPTR) "Crashes, hangs or corrupts data",
- (STRPTR) "Behaves incorrectly",
- (STRPTR) "Cosmetic problem",
- (STRPTR) "Works correctly",
- NULL
- };
- MODULE STRPTR AgnusOptions[6] =
- { (STRPTR) "AGA",
- (STRPTR) "ECS PAL",
- (STRPTR) "ECS NTSC",
- (STRPTR) "OCS PAL",
- (STRPTR) "OCS NTSC",
- NULL
- };
- MODULE STRPTR DeniseOptions[4] =
- { (STRPTR) "AGA",
- (STRPTR) "ECS",
- (STRPTR) "OCS",
- NULL
- };
- #define CPUS 5
- MODULE STRPTR CPUOptions[CPUS + 2] =
- { (STRPTR) "68000",
- (STRPTR) "68020",
- (STRPTR) "68030",
- (STRPTR) "68040",
- (STRPTR) "68060",
- (STRPTR) "PowerPC",
- NULL
- };
- #define MODELS 13
- MODULE STRPTR ModelOptions[MODELS + 2] =
- { (STRPTR) "A500",
- (STRPTR) "A500+",
- (STRPTR) "A600",
- (STRPTR) "A1000",
- (STRPTR) "A1200",
- (STRPTR) "A1500",
- (STRPTR) "A2000",
- (STRPTR) "A2500",
- (STRPTR) "A3000",
- (STRPTR) "A4000",
- (STRPTR) "CDTV",
- (STRPTR) "CD32",
- (STRPTR) "DraCo",
- (STRPTR) "Emulator",
- NULL
- };
-
- struct NewGadget Gadget =
- { 0, 0, // left-x, top-y
- 0, 0, // width, height
- 0, // text
- NULL, // font
- NULL, // gadget ID
- NULL, // flags
- NULL, // visual info
- NULL // user data
- };
-
- #define MENUENTRIES 5
- struct NewMenu NewMenu[MENUENTRIES] =
- { { NM_TITLE, "Project", 0 , 0, 0, 0},
- { NM_ITEM, "About...", "?", 0, 0, 0},
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0},
- { NM_ITEM, "Quit", "Q", 0, 0, 0},
- { NM_END, NULL, 0 , 0, 0, 0}
- };
-
- #define ABOUTLINES 4
- #define ABOUTSHADOW BLACK
- #define ABOUTSHINE WHITE
- #define ABOUTXPIXEL 312
- #define ABOUTYPIXEL 82
-
- struct
- { WORD x, y;
- STRPTR text;
- } about[ABOUTLINES + 1] =
- { { 80, 27, "Report+ 1.1" },
- { 80, 35, "Saturday 11 December 1999" },
- { 80, 43, "© 1999 Amigan Software" },
- { 16, 59, "Programming, Graphics, Design:" },
- { 48, 67, "James R. Jacobs" },
- };
-
- void cleanexit(SBYTE rc);
- void clearkybd(void);
- void AddName(struct List* ListPtr, STRPTR name);
- void FreeNameNodes(struct List* ListPtr);
- void gadtools(void);
- void newwindow(SWORD width, SWORD height, STRPTR title, ULONG idcmp);
- void fileabout(void);
- void closewindow(void);
- void asl(void);
- void launcheditor(void);
- void loop(void);
- void page0(void);
- void page1(void);
- void page2(void);
- void page3(void);
- void page4(void);
- void page5(void);
- void page6(void);
- void page7(void);
- void refreshpv(void);
- void navigate(void);
- void say(STRPTR sentence);
- void setgadget(WORD leftx, WORD topy, WORD width, WORD height, STRPTR text,
- ULONG flags);
- void parse(STRPTR terminator);
- ABOOL read(STRPTR pathname);
- void write(STRPTR pathname);
-
- #define SUBSYSTEMS 127
-
- struct NameNode
- { struct Node nn_Node;
- UBYTE nn_Data[33];
- };
- struct
- { TEXT friendly[33], unfriendly[33];
- } subsystems[SUBSYSTEMS + 1] =
- { { "Worm Wars", "wormwars" },
- { "Workbench", "workbench" },
- { "Wack", "wack" },
- { "utility.library", "utility.library" },
- { "Utilities/ programs", "util.command" },
- { "User manuals", "userdocs" },
- { "Unsure", "" },
- { "UNIX", "unix" },
- { "trackdisk.device", "trackdisk" },
- { "Tools/ programs", "tools" },
- { "ToolMaker", "toolmaker" },
- { "timer.device", "timer.device" },
- { "TCP/IP", "as225" },
- { "System/ programs", "system.command" },
- { "Startup", "startup" },
- { "Shell", "shell" },
- { "serial.device", "serial.device" },
- { "SCSI.device", "scsi.device" },
- { "Scripts", "script" },
- { "SANA-2", "sana2" },
- { "ROMWack", "wack" },
- { "ROM Kernel Manuals", "rkm" },
- { "Resources", "resource" },
- { "Report+", "report+" },
- { "realtime", "realtime" },
- { "ramlib", "ramlib" },
- { "RAM-Handler", "ram-handler" },
- { "QUEUE-Handler", "queue-handler" },
- { "Printer drivers", "printer.driver" },
- { "printer.device", "printer.device" },
- { "Preferences", "preferences" },
- { "potgo.resource", "potgo.resource" },
- { "PORT-Handler", "port-handler" },
- { "PCMCIA", "creditcard" },
- { "parallel.device", "parallel.device" },
- { "nonvolatile", "nonvolatile" },
- { "MultiView", "multiview" },
- { "Monitors", "monitors" },
- { "MicroEMACS", "microemacs" },
- { "Maths: IEEE Dbl Prcsn", "mathieeedoub" },
- { "Maths: IEEE Sngl Prcsn", "mathieeesing" },
- { "Maths: IEEE", "mathieee" },
- { "Maths: FFP", "mathffp" },
- { "lowlevel.library", "lowlevel" },
- { "locale.library", "locale.library" },
- { "layers.library", "layers" },
- { "Keymaps", "keymaps" },
- { "keymap.library", "keymap" },
- { "Keyboard", "keyboard" },
- { "IPrefs", "iprefs" },
- { "Intuition.library", "intuition" },
- { "IntelliFont", "fountain" },
- { "Installer", "installer" },
- { "input.device", "input.device" },
- { "IFFParse.library", "iffparse" },
- { "IDE.device", "ide.device" },
- { "IconEdit", "iconedit" },
- { "icon.library", "icon.library" },
- { "HDToolBox", "hdtoolbox" },
- { "HDBackup", "hdbackup" },
- { "Hardware", "hardware" },
- { "Graphics", "graphics" },
- { "Genlock", "genlock" },
- { "gameport.device", "gameport" },
- { "GadTools.library", "gadtools" },
- { "gadget.classes", "gadget.classes" },
- { "Fountain", "fountain" },
- { "Fonts", "fonts" },
- { "filesystem", "filesystem" },
- { "filesystem.resource", "filesysres" },
- { "expansion.library", "expansion" },
- { "Exec.library", "exec" },
- { "Envoy", "envoy" },
- { "Early Startup Control", "bootmenu" },
- { "DOS.library", "dos.library" },
- { "diskfont.library", "diskfont" },
- { "disk.resource", "disk.resource" },
- { "Developer support", "devsupport" },
- { "debug.lib", "debug.lib" },
- { "Datatypes", "datatypes" },
- { "Custom chipset", "custom.chips" },
- { "console.device", "console.device" },
- { "CON-Handler", "con-handler" },
- { "Commodities", "commodities" },
- { "clipboard.device", "clipboard" },
- { "CLI", "shell" },
- { "CIA.resource", "cia.resource" },
- { "cdui", "cdui" },
- { "CDTV.device", "cdtv.device" },
- { "CDTV", "cdtv" },
- { "C: programs", "cdos.command" },
- { "CDFileSystem", "cdfilesystem" },
- { "CD.device", "cd.device" },
- { "CD32 hardware", "cdgs" },
- { "bullet.library", "bullet" },
- { "BRU", "bru" },
- { "BridgeBoard", "bridgeboard" },
- { "Bootstrap", "strap" },
- { "Battery-backed memory", "battmem" },
- { "Battery-backed clock", "battclock" },
- { "AUTOCONFIG", "autoconfig" },
- { "audio.device", "audio.device" },
- { "ASL.library", "asl.library" },
- { "AS225", "as225" },
- { "Art", "art" },
- { "ARexx", "arexx" },
- { "AppShell", "appshell" },
- { "AmigaVision", "amigavision" },
- { "AmigaTerm", "amigaterm" },
- { "AmigaGuide", "amigaguide" },
- { "amiga.lib", "amiga.lib" },
- { "ALink", "alink" },
- { "AGA chipset", "aa.chips" },
- { "AmigaBASIC", "AmigaBasic" },
- { "A4091", "A4091" },
- { "A3000", "A3000" },
- { "A2630", "A2630" },
- { "A2620", "A2620" },
- { "A2410", "A2410" },
- { "A2300", "A2300" },
- { "A2232", "A2232" },
- { "A2091", "A2091" },
- { "A2090A", "A2090.A2090A" },
- { "A2090", "A2090.A2090A" },
- { "A2065", "A2065" },
- { "A2013", "A2013" },
- { "A590", "A2091.A590" },
- { "3D Look", "new.look" }
- };
-
- UWORD chip AboutData[189] =
- { /* Plane 0 */
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFDFF,0xC7FF,0xFFF8,
- 0xE53F,0x83FF,0xFFF8,
- 0xF8FF,0x01FF,0xFFF8,
- 0xE53E,0x10FF,0xFBF8,
- 0xFDFC,0x387F,0x9B38,
- 0xFFF8,0x7C3F,0xE0F8,
- 0xC3F0,0x0000,0x0018,
- 0xE1E0,0x1F0F,0xE0F8,
- 0xF0C3,0xE387,0x9B38,
- 0xF807,0xFC43,0xFBF8,
- 0xFC0F,0xFF81,0xFFF8,
- 0xFE1F,0xFFF0,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xF1C4,0x6C0E,0x39D8,
- 0xEEDB,0x6BFD,0xDAD8,
- 0xE0DB,0x6B8C,0x1B58,
- 0xDF5F,0x6BEB,0xEB98,
- 0xDF5F,0x6C0B,0xEBD8,
- 0xFFFF,0xFFFF,0xFFF8,
- /* Plane 1 */
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- /* Plane 2 */
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8,
- 0xFFFF,0xFFFF,0xFFF8
- };
- struct Image About =
- { 0, 0,
- 45, 21, 3,
- AboutData,
- 0xff, 0x0,
- NULL
- };
-
- // Must have blank line at EOF.
-